Add guidance for capturing ETW traces in Kubernetes pods#2344
Conversation
Co-authored-by: brianrob <6210322+brianrob@users.noreply.github.com>
There was a problem hiding this comment.
Clarify that process-isolation mode is the default and that if running in Hyper-V mode, these instructions are not required - just capture inside the container.
There was a problem hiding this comment.
Kernel sessions specifically cannot be started from inside of a container. PerfView almost always captures a kernel session, so we should assume so here.
There was a problem hiding this comment.
| <h6>Step 1: Capture a Trace on the Host Node (Required)</h6> | |
| <h6>Step 1: Capture a Trace on the Host Node</h6> |
There was a problem hiding this comment.
You will still get user-mode events from processes running directly on the host node (outside of containers).
| Then, inside the container, run the merge command to inject the necessary image identification data: | ||
| </p> | ||
| <ul> | ||
| <li>PerfViewCollect merge /ImageIDsOnly MyContainerTrace.etl.zip</li> |
There was a problem hiding this comment.
Note: PerfViewCollect needs to be built from source at https://github.com/microsoft/perfview. It is not currently shipped as a binary.
There was a problem hiding this comment.
It actually looks up the PDB signature.
There was a problem hiding this comment.
The stacks will just show the module name with a question mark. For example: MyAssembly!? instead of MyAssembly!MyClass.MyMethod.
There was a problem hiding this comment.
Jitted code will still work, but nothing else will that comes from a binary inside of the container.
There was a problem hiding this comment.
The merger is a shared component and doesn't have access to look inside of containers, thus you must run it inside of the container(s).
Co-authored-by: brianrob <6210322+brianrob@users.noreply.github.com>
|
Copilot Post-Mortem:
|
EnableEventsInContainersandImageIDsOnlyoptionsOriginal prompt
💡 You can make Copilot smarter by setting up custom instructions, customizing its development environment and configuring Model Context Protocol (MCP) servers. Learn more Copilot coding agent tips in the docs.